/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Data.Enemigo;

import java.util.ArrayList;

/**
 *
 * @author rjimenez
 */
public class TablaSimbolos {

     ArrayList<Simbolo> tablasimbolos;

    public TablaSimbolos(ArrayList<Simbolo> tablasimbolos) {
        this.tablasimbolos = tablasimbolos;
    }

    public TablaSimbolos() {
        this.tablasimbolos = new  ArrayList<Simbolo>();
    }


    public boolean insertarSimbolo(Simbolo nuevo)
    {
        boolean existe = false;
        if(tablasimbolos.isEmpty())
        {
            tablasimbolos.add(nuevo);
            existe = false;
            return existe;
        }
        else
        {
            for (Simbolo simbolo : tablasimbolos) {

                if(simbolo.getNombre().compareTo(nuevo.getNombre())==0 && simbolo.getTipo()== nuevo.getTipo())
                {
                    existe = true;
                    return existe;
                }
                else
                {
                    tablasimbolos.add(nuevo);
                    existe = false;
                    return existe;
                }

            }
        }

        return existe;
    }

    public Simbolo buscarSimbolo(String nombre, int tipo)
    {
        Simbolo encontrado = null;
        for (Simbolo simbolo : tablasimbolos) {

                if(simbolo.getNombre().compareTo(nombre)==0 && simbolo.getTipo()== tipo)
                {
                    encontrado = simbolo;
                    return encontrado;
                }
                else
                {
                    encontrado = null;
                    return encontrado;
                }

            }
        return encontrado;
    }


    public int getTipo(String tipo)
    {
        if(tipo.compareTo("String")==0)
        {
            return Tipo.STRING;
        }
        else if(tipo.compareTo("integer")==0)
        {
            return Tipo.ENTERO;
        }
        else if(tipo.compareTo("char")==0)
        {
            return Tipo.CHAR;
        }
        else if(tipo.compareTo("float")==0)
        {
            return Tipo.FLOAT;
        }
        else if(tipo.compareTo("long")==0)
        {
            return Tipo.LONG;
        }
        else if(tipo.compareTo("boolean")==0)
        {
            return Tipo.BOOL;
        }
        else
            return 0;
    }

}
